﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ASPItalia.ModelVirtualCasting.WPF.Models;
using ASPItalia.ModelVirtualCasting.WPF.Common;
using System.ComponentModel;
using System.Windows.Data;

namespace ASPItalia.ModelVirtualCasting.WPF.ViewModels
{
    public class ModelViewModel : AsyncViewModel
    {

        #region Properties

        private string _FullName;

        public string FullName
        {
            get { return _FullName; }
            set
            {
                _FullName = value;
                OnPropertyChanged("FullName");
            }
        }

        private bool _IsCandidate;

        public bool IsCandidate
        {
            get { return _IsCandidate; }
            set
            {
                _IsCandidate = value;
                OnPropertyChanged("IsCandidate");
            }
        }

        private bool _canBeNaked;

        public bool CanBeNaked
        {
            get
            {
                return _canBeNaked;
            }
            set
            { 
                _canBeNaked = value;
                OnPropertyChanged("IsCandidate");
            }
        }

        private string _eyeColor;

        public string EyeColor
        {
            get
            {
                return _eyeColor;
            }
            set
            {
                _eyeColor = value;
                OnPropertyChanged("EyeColor");
            }
        }

        private string _hairColor;

        public string HairColor
        {
            get
            {
                return _hairColor;
            }
            set
            {
                _hairColor = value;
                OnPropertyChanged("HairColor");
            }
        }
    
        private ObservableCollectionEx<Multimedia> _multimedia;

        public ObservableCollectionEx<Multimedia> Multimedia
        {
            get
            {
                if (_multimedia == null)
                    _multimedia = new ObservableCollectionEx<Multimedia>();
                return _multimedia;
            }
        }

        public ICollectionView MultimediaView
        {
            get { return CollectionViewSource.GetDefaultView(this.Multimedia); }
        }

        #endregion

    }
}
